package com.mm.service;

import com.mm.bo.EmployeeInsertBo;
import com.mm.bo.EmployeeSearchBo;
import com.mm.bo.EmployeeUpdateBo;
import com.mm.util.PageUtil;
import com.mm.vo.EmployeeInfoDetailsVo;
import com.mm.vo.EmployeeInfoVo;

/**
 * @ClassName EmployeeService
 * @Description TODO
 * @Author 任昊
 * @Date 2020/12/4 10:10
 */
public interface EmployeeInfoService {
    /**
     * 新增员工信息
     *
     * @param employeeInsertBo
     * @return
     */
    Integer insertEmoloyeeInfo(EmployeeInsertBo employeeInsertBo);

    /**
     * 查询员工列表
     *
     * @param employeeSearchBo
     * @return
     */
    PageUtil<EmployeeInfoVo> selectEmployeeInfo(EmployeeSearchBo employeeSearchBo);

    /**
     * 修改员工信息
     *
     * @param employeeUpdateBo
     * @return
     */
    Integer updateEmoloyeeInfo(EmployeeUpdateBo employeeUpdateBo);

    /**
     * 删除员工信息  逻辑删除
     *
     * @param empId
     * @return
     */
    Integer deleteEmoloyeeInfo(String empId, String token);

    /**
     * 查询员工详情信息
     *
     * @param empId
     * @return
     */
    EmployeeInfoDetailsVo selectEmployeeInfoDetails(String empId);

    /**
     * 修改员工在职离职状态
     *
     * @param empId
     * @return
     */
    Integer dimissionEmoloyeeInfo(String empId, String token);
}
